package com.yizhuoyan.his.service.registrar;

import com.yizhuoyan.his.ao.ModifyRegistrationLevelAo;
import com.yizhuoyan.his.ao.RegistrationLevelAo;
import com.yizhuoyan.his.entity.HosRegistrationLevelEntity;
import lombok.NonNull;

import java.util.List;

/**挂号级别管理
 *
 */

public interface RegistrationLevelService {
    /**
     * 新增挂号级别信息
     * @param ao 挂号级别信息的详情
     * @throws Exception
     * @return 返回实体
     */
    public HosRegistrationLevelEntity addRegistrationLevel(RegistrationLevelAo ao)throws Exception;
    /**
     * 删除挂号级别信息
     * @param id 挂号id
     * @throws Exception
     */
    public void removeRegistrationLevel(Long id)throws Exception;
    /**
     * 批量删除挂号级别
     * @param ids 所选删除的挂号级别信息
     * @throws Exception
     */
    public void removeRegistrationLevels(Long... ids)throws Exception;
    /**
     * 修改一个挂号级别信息
     * @param id 修改id
     * @param  ao 需要修改的属性
     * @throws Exception
     */
    public void modifyRegistrationLevel(Long id, ModifyRegistrationLevelAo ao)throws Exception;
    /**
     * 查询挂号级别信息
     * @param id
     * @return 如果挂号级别不存在，则返回null
     * @throws Exception
     */
    public HosRegistrationLevelEntity queryRegistrationLevelById(Long id)throws Exception;
    /**
     * 模糊查询挂号级别信息
     * @param orderBy
     * @return 返回集合实体
     * @throws Exception
     */
    @NonNull List<HosRegistrationLevelEntity> queryRegistrationLevelAll(String key, String orderBy)throws Exception;
}
